home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - ProDOS / PRO073.dsk / CREATE.MY.LIST.bas < prev    next >
BASIC Source File  |  2012-02-16  |  3KB  |  76 lines

  1. 10  REM     CREATE.MY.LIST        
  2. 20  PRINT  CHR$(4);"PR#3"
  3. 30  PRINT  CHR$(12); CHR$(18)
  4. 40 D$ =  CHR$(4)
  5. 50  DIM T$(50)
  6. 60 X = X +1
  7. 70  VTAB (1): POKE 1403,26: PRINT "Create my own Ticket List"
  8. 80  VTAB (22): PRINT "==============================================================================="
  9. 90  VTAB (2): PRINT "==============================================================================="
  10. 100  VTAB (23): POKE 1403,40: CALL  -868: PRINT "                 Type the Ticket Number"
  11. 110  VTAB (23): POKE 1403,0: PRINT "TICKET # ";X;
  12. 120  POKE 1403,12: PRINT " XX XX XX XX XX XX"
  13. 130  VTAB (23): POKE 1403,13: CALL  -657
  14. 140 A$ = "": FOR Z = 512 TO 767: IF  PEEK(Z) < >141  THEN A$ = A$ + CHR$( PEEK(Z) -128): NEXT Z
  15. 150 T$(X) = A$
  16. 160  FOR SP = 3 TO 15  STEP 3
  17. 170  IF ( MID$ (T$(X),SP,1) < >" ")  THEN 100
  18. 180  NEXT SP
  19. 190  FOR SP = 1 TO 18  STEP 3
  20. 200  IF ( MID$ (T$(X),SP,2) >"49")  THEN 100
  21. 210  IF ( MID$ (T$(X),SP,2) <"01")  THEN 100
  22. 220  FOR S = 1 TO (SP -1)  STEP 3: IF SP < >S  THEN  IF ( MID$ (T$(X),SP,2)) = ( MID$ (T$(X),S,2))  THEN 100: NEXT S
  23. 230  IF SP >3  THEN  IF ( MID$ (T$(X),SP,2)) = ( MID$ (T$(X),SP -3,2))  THEN 100
  24. 240  IF X >1  THEN  FOR R = 1 TO X -1: IF T$(X) = T$(R)  THEN 100: NEXT R
  25. 250  NEXT SP
  26. 260  IF  LEN(T$(X)) < >17  THEN 100
  27. 270  GOSUB 410
  28. 280  VTAB (23): POKE 1403,60: PRINT "Press RETURN or ESC";
  29. 290  GET ANS$
  30. 300  IF ANS$ =  CHR$(13)  THEN  GOSUB 410
  31. 310  IF ANS$ =  CHR$(13)  THEN 60
  32. 320  IF ANS$ =  CHR$(27)  THEN  VTAB (23): POKE 1403,45: PRINT "";: CALL  -868: PRINT "(C)hange number or (F)inished list";
  33. 330  GET AN$
  34. 340  IF (AN$ = "C")  OR (AN$ = "c")  THEN 100
  35. 350  IF (AN$ = "F"  OR AN$ = "f")  THEN 560
  36. 360  IF AN$ =  CHR$(27)  THEN 750
  37. 370  GOTO 320
  38. 380  IF X = 50  THEN  GOSUB 410
  39. 390  IF X = 50  THEN 560
  40. 400  REM GOTO 6065
  41. 410  REM  PRINT ON SCREEN
  42. 420 FT = 0
  43. 430  VTAB (3): POKE 1403,0: PRINT "";
  44. 440  FOR D = 1 TO X
  45. 450 SP$ = " ": IF D >9  THEN SP$ = ""
  46. 460 A = 2:B = 27:C = 52:FT = FT +1
  47. 470  IF FT = 1  THEN T = A
  48. 480  IF FT = 2  THEN T = B
  49. 490  IF FT = 3  THEN T = C
  50. 500  IF FT = 3  THEN FT = 0
  51. 510  POKE 1403,T: PRINT SP$;"[";D;"]:";
  52. 520  PRINT T$(D);
  53. 530  IF T = C  THEN  PRINT 
  54. 540  NEXT D
  55. 550  RETURN 
  56. 560  REM  SAVE TO DISK
  57. 570  PRINT D$;"PREFIX/PROGRAM/LISTS"
  58. 580  REM VTAB (22): PRINT "==============================================================================="
  59. 590  VTAB (23): POKE 1403,0: PRINT "";: CALL  -868: PRINT "Give your LIST a GROUP NAME ";: CALL  -657
  60. 600 A$ = "": FOR Y = 512 TO 767: IF  PEEK(Y) < >141  THEN A$ = A$ + CHR$( PEEK(Y) -128): NEXT Y
  61. 610 L$ = A$
  62. 620  IF ( ASC(L$) <65  OR  ASC(L$) >122)  THEN 590
  63. 630 L$ = L$ +".L649"
  64. 640  ONERR  GOTO 590
  65. 650  PRINT D$;"OPEN";L$
  66. 660  VTAB (23): PRINT "Saving ticket numbers ";L$;" on disk"
  67. 670  POKE 216,0
  68. 680  PRINT D$;"WRITE";L$
  69. 690  FOR D = 1 TO 50
  70. 700  IF T$(D) = ""  THEN T$(D) = "00 00 00 00 00 00"
  71. 710  PRINT T$(D)
  72. 720  NEXT D
  73. 730  PRINT D$;"CLOSE";L$
  74. 740  PRINT D$;"PREFIX/PROGRAM"
  75. 750  VTAB (23): POKE 1403,0: CALL  -868: PRINT "Returning to MENU"
  76. 760  PRINT D$;"-MENU"